package cn.miju.unionpay.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

/**
 * <pre>
 * 云闪付接口响应参数父类类
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-03-12 18:55
 */
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class UnionPayResponse {
    /**
     * 签名
     */
    private String signature;
    /**
     * 签名方法
     */
    private String signMethod;
    /**
     * 签名公钥证书
     * 此域填写银联签名公钥证书，使用RSA签名方式时，默认返回，如果ctrlRule第五位为1时，不返。
     */
    private String signPubKeyCert;
    /**
     * 应答码
     */
    private String respCode;
    /**
     * 应答信息
     */
    private String respMsg;
    /**
     * 版本号
     */
    private String version;
    /**
     * 编码方式
     */
    private String encoding;
    /**
     * 产品类型
     */
    private String bizType;
    /**
     * 交易类型
     */
    private String txnType;
    /**
     * 交易子类
     */
    private String txnSubType;
    /**
     * 接入类型
     */
    private String accessType;
    /**
     * 商户代码
     */
    private String merId;
    /**
     * 请求方保留域
     * 商户自定义保留域，交易应答时会原样返回
     */
    private String reqReserved;
    /**
     * 保留域
     */
    private String reserved;
    /**
     * 订单发送时间;格式：YYYYMMDDhhmmss
     */
    private String txnTime;

    public boolean isSuccess() {
        return "00".equals(respCode);
    }
}
